In modern computer networks, a storage server can be used for many different purposes, such as to provide multiple users with access to shared data or to back up mission critical data. A file server is an example of a storage server which operates on behalf of one or more clients to store and manage shared files in a set of mass storage devices, such as magnetic or optical storage based disks or tapes. The mass storage devices are typically organized into one or more volumes of Redundant Array of Independent (or Inexpensive) Disks (RAID).
One mode in which a file server can be used is a network attached storage (NAS) mode. In a NAS mode, a file server can be implemented in the form of an appliance, sometimes called a filer, that attaches to a network, such as a local area network (LAN) or a corporate intranet. An example of such an appliance is any of the Filer products made by NetApp®, Inc. in Sunnyvale, Calif. A storage server can also be employed in a storage area network (SAN), which is a highly efficient network of interconnected, shared storage devices. In a SAN, the storage server (which may be an appliance) provides a remote host with block-level access to stored data, whereas in a NAS configuration, the storage server provides clients with file-level access to stored data. In both NAS and SAN configurations, available storage is divided into various logical segments, such as volumes (for both NAS and SAN configurations) or qtrees (for a NAS configuration). A qtree is a special directory that has the properties of a logical sub-volume within the namespace of a physical volume. Individual qtrees may be assigned storage quotas and security properties.
The increasing size and complexity of modern storage networks has made storage capacity planning and storage administration difficult. Administrators can handle capacity issues using a number of corrective actions, but it can be very difficult for an administrator to identify the appropriate actions to take. In many instances, this difficulty forces administrators to migrate storage to new hardware rather than attempt to free space on existing hardware. Storage migration is expensive and disruptive. However, current tools provide insufficient assistance to administrators in solving storage problems.